//
// Created by alexa on 5/11/2024.
//

#ifndef ARTILLERYSYSTEM_SOLDIERSMENU_H
#define ARTILLERYSYSTEM_SOLDIERSMENU_H


#include "cpp-i18n/Translator.hpp"
#include "../../UserInterface.h"

// TODO Добавить выбор специализация соладат, добавить возможность изменения информации о солдате

class SoldiersMenu : public Menu {
private:
    SoldiersService * service;

    void createSoldier();

    Soldier *findSoldier();

    void deleteSoldier(Soldier* soldier);

    void printSoldiersList(vector<Soldier*> list);

    void printSoldierInfo(Soldier* soldier);

    void printMenu();

    void displaySoldiersList();

    void displaySoldierInfo(Soldier* soldier);

    void findAndDisplaySoldierInfo();

    Specialization selectSoldierSpecialization();

public:
    SoldiersMenu(i18n::Translator *t, UserInterface *ui, SoldiersService * service);

    void displayMenu() override;

};


#endif //ARTILLERYSYSTEM_SOLDIERSMENU_H
